﻿#include "ContactsListView.h"



ContactsListView::ContactsListView(QWidget* parent)
	:QListView(parent)
	,m_itemModel(new QStandardItemModel)
{
	this->setModel(m_itemModel);


	//设置视图不可见:
	this->setEditTriggers(QListView::EditTrigger::NoEditTriggers);

	setItemDelegate(new contactsItemDelegate(this));


	init();
}

void ContactsListView::init()
{
	//添加数据：
	//m_itemModel->appendRow(new QStandardItem("李飞"));

	//test:
	//qInfo() << contactsInfo("李飞飞飞");


	//关联信号槽：
	connect(this, &ContactsListView::doubleClicked,this, &ContactsListView::onDoubleClicked);


	//准备联系人信息：
	m_infos.append(new contactsInfo("李琼懿", "!Confront"));
	m_infos.append(new contactsInfo("李琼懿", "! #我的愿望很简单 你在身边 在你身边"));
	m_infos.append(new contactsInfo("李鑫", "燕雀安置鸿鹄之志哉！！！"));
	m_infos.append(new contactsInfo("里奇老师", "做有情怀，有良心，有品质的一流教育机构"));
	m_infos.append(new contactsInfo("梁强 胖胖", "以声之色，塑花之形"));
	m_infos.append(new contactsInfo("刘金奇"));


	//创建item：
	for (auto info : m_infos)
	{
		//一定要记住每一步：
		auto item = new QStandardItem;
		item->setData(QVariant::fromValue( info));
		m_itemModel->appendRow(item);				//添加item；



	}

}

void ContactsListView::onDoubleClicked(const QModelIndex& index)
{
	//这tm是啥？
	auto info = index.data(Qt::UserRole + 1).value<contactsInfo*>();
	if(info)
		qInfo() << *info;


}
